package com.cheng.example.book.advise151.chap1;


/**
 * 建议7：警惕自增的陷阱
 *
 * count++是一个表达式，是由返回值的，它的返回值就是count自加前的值，
 * Java对自加是这样处理的：首先把count的值(注意是值，不是引用)拷贝到一个临时变量区，
 * 然后对count变量+1，最后返回临时变量区的值。程序第一次循环处理步骤如下:
 */
public class Client07 {

    public static void main(String[] args) {
        int count=0;
        for(int i=0; i<10;i++){
            count=count++;
        }
        System.out.println("count = "+count);
    }

    /**
     * "count=count++"这条语句可以按照如下代码理解：　
     * @param count
     * @return
     */
    public static int mockAdd(int count) {
        // 先保存初始值
        int temp = count;
        // 做自增操作
        count = count + 1;
        // 返回原始值
        return temp;
    }


}